using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("GeneralStorePacksContentDisplay")]
	public class GeneralStorePacksContentDisplay : MonoBehaviour
	{
		public enum PACK_DISPLAY_TYPE
		{
			PACK,
			BOX
		}

		public MeshRenderer m_background => method_3<MeshRenderer>("m_background");

		public List<GameObject> m_packStacks => method_3<Class271<GameObject>>("m_packStacks")?.method_25();

		public GameObject m_dustJar => method_3<GameObject>("m_dustJar");

		public UberText m_dustAmountText => method_3<UberText>("m_dustAmountText");

		public GameObject m_hiddenCard => method_3<GameObject>("m_hiddenCard");

		public GameObject m_giftDescription => method_3<GameObject>("m_giftDescription");

		public UberText m_giftDescriptionText => method_3<UberText>("m_giftDescriptionText");

		public GameObject m_bundleGiftDescription => method_3<GameObject>("m_bundleGiftDescription");

		public string m_leavingSoonBannerPrefab => method_4("m_leavingSoonBannerPrefab");

		public GameObject m_jarFlash => method_3<GameObject>("m_jarFlash");

		public GameObject m_dustJarBone => method_3<GameObject>("m_dustJarBone");

		public GameObject m_prePurchaseDustJarBone => method_3<GameObject>("m_prePurchaseDustJarBone");

		public GameObject m_bundleDustJarBone => method_3<GameObject>("m_bundleDustJarBone");

		public GameObject m_giftDescriptionBone => method_3<GameObject>("m_giftDescriptionBone");

		public GameObject m_prePurchaseGiftDescriptionBone => method_3<GameObject>("m_prePurchaseGiftDescriptionBone");

		public PACK_DISPLAY_TYPE m_packDisplayType => method_2<PACK_DISPLAY_TYPE>("m_packDisplayType");

		public GeneralStorePacksContent m_parent => method_3<GeneralStorePacksContent>("m_parent");

		public List<AnimatedLowPolyPack> m_showingPacks => method_3<Class271<AnimatedLowPolyPack>>("m_showingPacks")?.method_25();

		public List<AnimatedLeavingSoonSign> m_showingLeavingSoonSigns => method_3<Class271<AnimatedLeavingSoonSign>>("m_showingLeavingSoonSigns")?.method_25();

		public static Vector3 PACK_SCALE => MonoClass.smethod_6<Vector3>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_SCALE");

		public static float PACK_X_VARIATION_MAG => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_X_VARIATION_MAG");

		public static float PACK_Y_OFFSET => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_Y_OFFSET");

		public static float PACK_Z_VARIATION_MAG => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_Z_VARIATION_MAG");

		public static float PACK_FLY_OUT_X_DEG_VARIATION_MAG => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_FLY_OUT_X_DEG_VARIATION_MAG");

		public static float PACK_FLY_OUT_Z_DEG_VARIATION_MAG => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_FLY_OUT_Z_DEG_VARIATION_MAG");

		public static float BOX_FLY_OUT_X_DEG_VARIATION_MAG => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "BOX_FLY_OUT_X_DEG_VARIATION_MAG");

		public static float BOX_FLY_OUT_Z_DEG_VARIATION_MAG => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "BOX_FLY_OUT_Z_DEG_VARIATION_MAG");

		public static int PACK_STACK_SEED => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "GeneralStorePacksContentDisplay", "PACK_STACK_SEED");

		public int m_lastVisiblePacks => method_2<int>("m_lastVisiblePacks");

		public int m_lastVisibleDust => method_2<int>("m_lastVisibleDust");

		public bool m_dustJarFlashing => method_2<bool>("m_dustJarFlashing");

		public GeneralStorePacksContentDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GeneralStorePacksContentDisplay(IntPtr address)
			: this(address, "GeneralStorePacksContentDisplay")
		{
		}

		public void SetParent(GeneralStorePacksContent parent)
		{
			method_8("SetParent", parent);
		}

		public int ShowPacks(int numVisiblePacks, float flyInTime, float flyOutTime, float flyInDelay, float flyOutDelay, bool forceImmediate, bool showAsSingleStack)
		{
			return method_11<int>("ShowPacks", new object[7] { numVisiblePacks, flyInTime, flyOutTime, flyInDelay, flyOutDelay, forceImmediate, showAsSingleStack });
		}

		public void HideDustJar()
		{
			method_8("HideDustJar");
		}

		public void ShowGiftDescription(int dustAmount, bool prePurchase, bool firstPurchaseBundle)
		{
			method_8("ShowGiftDescription", dustAmount, prePurchase, firstPurchaseBundle);
		}

		public void HideGiftDescription()
		{
			method_8("HideGiftDescription");
		}

		public void ShowHiddenBundleCard()
		{
			method_8("ShowHiddenBundleCard");
		}

		public void HideHiddenBundleCard()
		{
			method_8("HideHiddenBundleCard");
		}

		public int ShowBundleBox(float flyInTime, float flyOutTime, float flyInDelay, float flyOutDelay, float delay, bool forceImmediate)
		{
			return method_11<int>("ShowBundleBox", new object[6] { flyInTime, flyOutTime, flyInDelay, flyOutDelay, delay, forceImmediate });
		}

		public void PurchaseBundleBox(CardReward rewardCard)
		{
			method_8("PurchaseBundleBox", rewardCard);
		}

		public void UpdatePackType(StorePackDef packDef)
		{
			method_8("UpdatePackType", packDef);
		}

		public void ClearContents()
		{
			method_8("ClearContents");
		}

		public int ShowPacksAsSingleStack(int numVisiblePacks, float flyInTime, float flyOutTime, float flyInDelay, float flyOutDelay, bool forceImmediate)
		{
			return method_11<int>("ShowPacksAsSingleStack", new object[6] { numVisiblePacks, flyInTime, flyOutTime, flyInDelay, flyOutDelay, forceImmediate });
		}

		public List<AnimatedLowPolyPack> GetCurrentPacks(int id, int count)
		{
			return method_14<Class251<AnimatedLowPolyPack>>("GetCurrentPacks", new object[2] { id, count })?.method_25();
		}

		public void SetupLowPolyPack(AnimatedLowPolyPack pack, int i, bool useVisiblePacksOnly)
		{
			method_8("SetupLowPolyPack", pack, i, useVisiblePacksOnly);
		}

		public int DeterminePackColumn(int packNumber)
		{
			return method_11<int>("DeterminePackColumn", new object[1] { packNumber });
		}

		public void FlyLeavingSoonBanner(int numPacksFlyingIn, int numPacksFlyingOut, float flyInTime, float flyOutTime, float flyInDelay, float flyOutDelay, int numVisiblePacks, bool animated)
		{
			method_8("FlyLeavingSoonBanner", numPacksFlyingIn, numPacksFlyingOut, flyInTime, flyOutTime, flyInDelay, flyOutDelay, numVisiblePacks, animated);
		}

		public void OnLeavingSoonButtonClicked(string leavingSoonText)
		{
			method_8("OnLeavingSoonButtonClicked", leavingSoonText);
		}

		public Vector3 GetRewardLocalPos()
		{
			return method_11<Vector3>("GetRewardLocalPos", Array.Empty<object>());
		}

		public Vector3 GetRewardScale()
		{
			return method_11<Vector3>("GetRewardScale", Array.Empty<object>());
		}

		public Vector3 GetRewardPunchScale()
		{
			return method_11<Vector3>("GetRewardPunchScale", Array.Empty<object>());
		}

		public void OnRewardShown(object callbackData)
		{
			method_8("OnRewardShown", callbackData);
		}

		public void OnRewardClicked(Reward reward, object userData)
		{
			method_8("OnRewardClicked", reward, userData);
		}
	}
}
